package com.cray.intelligenthydrologyback.client.domain.entity;

import com.cray.intelligenthydrologyback.client.model.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 设备基础信息对象 hydrologic_device
 */
@Data
public class HydrologicDevice extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private Long id;

    /**
     * 设备分类标识（关联device_class表的id字段）
     */
    private Long deviceClassId;

    /**
     * 设备分类标识（关联device_class表的id字段）
     */
    private String deviceClassName;

    /**
     * 设备编码
     */
    private String deviceCode;

    /**
     * 设备名称
     */
    private String deviceName;

    /**
     * 设备类型，参考字典值：biz_device_type
     */
    private String deviceType;

    /**
     * 责任人
     */
    private String onwer;

    /**
     * 联系方式
     */
    private String mobile;

    /**
     * 安装时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date deployTime;

    /**
     * 连接方式，参考字典biz_device_connection_type
     */
    private String connectionType;

    /**
     * 是否展示，参考字典sys_show_hide
     */
    private String showHide;

    /**
     * 地点,安装位置
     */
    private String deviceLocation;

    /**
     * 厂商
     */
    private String vendorName;

    /**
     * 型号
     */
    private String model;

    /**
     * 功率
     */
    private String power;

    /**
     * 图标
     */
    private String imgUrl;

    /**
     * 设备地址,modbus地址
     */
    private String modbusAddress;

    /**
     * 串口名称,系统串口名称
     */
    private String serialPortName;

    /**
     * 功能码，参考biz_device_function_code
     */
    private String functionCode;

    /**
     * ip地址，TCP连接时使用
     */
    private String ipAddress;

    /**
     * 连接端口（串口时配置com口，tcp时配置端口）
     */
    private Integer connectionPort;

    /**
     * 波特率（串口时配置）
     */
    private String baudRate;

    /**
     * 数据位（串口时配置）
     */
    private String dataBit;

    /**
     * 数据位字节顺序：参考biz_bit_order_type
     */
    private String dataBitOrder;

    /**
     * 停止位（串口时配置）
     */
    private String stopBit;

    /**
     * 奇偶校验方式，参考字典biz_parity_check（串口时配置）
     */
    private String paritycheck;

    /**
     * 校验位字节顺序 参考biz_bit_order_type
     */
    private String parityCheckBitOrder;

    /**
     * 响应超时时间（串口和tcp时默认配置）
     */
    private Integer responseTimeout;

    /**
     * 两次获取时间间隔（串口和tcp时默认配置）
     */
    private Integer delayBetweenPolls;

    /**
     * 连接超时时间
     */
    private Integer connctTimeout;

    /**
     * 返回数据长度
     */
    private Long responseDataLength;

    /**
     * 是否删除，参考字典sys_yes_no
     */
    private String delFlag;

    /**
     * 设备管理点位信息
     */
    private List<HydrologicDevicePoint> hydrologicDevicePointList;

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }
}
